﻿namespace Renci.Data.Interop.OpenGIS.Gml
{
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CircleByCenterPointType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.3038")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.opengis.net/gml")]
    [System.Xml.Serialization.XmlRootAttribute("ArcByCenterPoint", Namespace = "http://www.opengis.net/gml", IsNullable = false)]
    public class ArcByCenterPointType : AbstractCurveSegmentType
    {
        /// <remarks/>
        public ArcByCenterPointType()
        {
            this.Interpolation = CurveInterpolationType.CircularArcCenterPointWithRadius;
            this.NumArc = "1";
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("coordinates", Type = typeof(CoordinatesType))]
        [System.Xml.Serialization.XmlElementAttribute("pointProperty", Type = typeof(PointPropertyType))]
        [System.Xml.Serialization.XmlElementAttribute("pointRep", Type = typeof(PointRepType))]
        [System.Xml.Serialization.XmlElementAttribute("pos", Type = typeof(DirectPositionType))]
        [System.Xml.Serialization.XmlElementAttribute("posList", Type = typeof(DirectPositionListType))]
        public object Location { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("radius")]
        public LengthType Radius { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("startAngle")]
        public AngleType StartAngle { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("endAngle")]
        public AngleType EndAngle { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("interpolation")]
        public CurveInterpolationType Interpolation { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool InterpolationSpecified { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("numArc", DataType = "integer")]
        public string NumArc { get; set; }
    }
}
